package day05;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.util.Arrays;
import java.util.Random;

/**数组的演示*/
public class ArrayDemo {
    public static void main(String[] args) {
        //40到100之间
        Random rand =new Random();
        //61:最大值-最小值+1
        //40：最小值
        int num = rand.nextInt(61)+40;
        System.out.println(num);






        /*
        //5)数组的排序：
        Random rand=new Random();
        int[] arr =new int[10];
        for (int i =0;i<arr.length;i++){
            arr[i]= rand.nextInt(100);
            System.out.println(arr[i]);
        }

        Arrays.sort(arr);//对arr数组做升序排列

        System.out.println("排序后：");
        for (int i = 0;i< arr.length;i++){
            System.out.println(arr[i]);
        }
        System.out.println("倒着输出：");
        for (int i = arr.length-1;i>=0;i--){//数据是升序的，只是倒着展示
            System.out.println(arr[i]);
        }
        System.out.println("第一个元素为："+arr[0]);

         */




        /*
        //通过下标/索引/标号来访问数组中的元素，下标从0开始，最大到(数组长度-1)
        //1)数组的定义：
        int [] a = new int[5];//声明一个整数型数组a，包含了5个元素，每个元素都是int类型，默认值为0
        double[] b = new double[20];//声明了一个浮点型数组b，包含了20个元素，每个元素都是double类型，默认值为0.0
        boolean[] c = new boolean[26];
        //声明了一个布尔型数组c，包含了26个元素，每个元素都是boolean类型，默认值为false

        //2)数组的初始化：初始化的是数组中的数据
        int []arr1=new int[3];//0,0,0
        int []arr2 = {2,5,8};//2,5,8
        int []arr3 = new int[]{2,5,8};//2,5,8

        int[]arr4;
        //arr4 = {2,5,8};//编译错误，此方式只能声明同时初始化
        arr4 = new int[]{2,5,8};//正确

        //3)数组的访问：访问的是数组里面的元素

        int []arr=new int[3];
        System.out.println("数组的长度："+arr.length);//3
        System.out.println(arr[0]);//0,输出第一个元素的值
        arr[0]=100;//给第一个元素赋值为100
        arr[1]=200;//给第二个元素赋值为200
        arr[2]=300;//给打三个元素赋值为300
        //arr[3]=400;//运行时发生数组下标越界异常
        System.out.println(arr[arr.length-1]);//300,输出最后一个元素的值

        int[]arr=new int[3];
        System.out.println("数组的长度是："+arr.length);
        System.out.println(arr[0]);//0，输出第一个元素的值
        arr[0]=100;//给第一个元素赋值为100
        arr[1]=200;//给第二个元素赋值为200
        arr[2]=300;//给第三个元素赋值为300
        arr[3]=400;//运行时发生数组下标越界异常
        System.out.println(arr[arr.length-1]);//300，输出最后一个元素的值

        //4)数组的遍历/迭代：从头到尾挨个走一遍
        int[]as=new int[10];
        for (int i=1;i< as.length;i++){//遍历as数组
            as[i]=(int)(Math.random()*100);//给每个元素赋值为0~99的随机数
            System.out.println(as[i]);//输出每个元素的值*/

        }
    }

